#include "Encoder.h"
int main() {

    QImage  m_img;
    m_img.load("/home/dll/1080.png");
    if(m_img.format() != QImage::Format_ARGB32)
    {
        m_img.convertTo(QImage::Format_ARGB32);
    }
    if(m_img.format() == QImage::Format_ARGB32)
    {   
        printf("convert to ARGB32\n");
    }

    Encoder encoder;
    encoder.initialize(m_img.width(),m_img.height(),25);

    // 创建输出文件
    FILE *file = fopen("output.h264", "wb");
    if (!file) {
        fprintf(stderr, "Could not open output file\n");
        return -1;
    }

    
    VideoFrame videoframe;
    // 编码帧并输出到文件
    for (int i = 0; i < 500; i++) {  // 假设我们编码100帧图像
        encoder.encodeFrame(m_img,i,videoframe);  

        // 将编码后的H.264数据写入文件
        fwrite(videoframe.data.data(), 1, videoframe.data.length(), file); 
    }
    // encoder.finish();

    // 释放资源
    fclose(file);

    return 0;
}
